package gamedo

type S卡片数据 struct {
	// 在主体中的唯一标识，用于在内存中生成标识索引
	// 例如物品卡包、技能卡包
	// @alias 标识
	B标识 string `alias:"标识"`
	// @alias 配置
	P配置 string `alias:"配置"`
	// @alias 名称
	M名称 string `alias:"名称"`
	// @alias 等级
	D等级 int `alias:"等级"`
	// @alias 经验
	J经验 int `alias:"经验"`
	// @alias 数量
	S数量 int `alias:"数量"`
	// 被锁定的物品不能销毁或出售
	// @alias 锁定
	S锁定 bool `alias:"锁定"`
	// @alias 已读
	Y已读 bool `alias:"已读"`
	// 如果卡包可以挂售，则需要设置价格
	// @alias 价格
	J价格 int `alias:"价格"`
	// @alias 属性
	S属性 map[string]float64 `alias:"属性"`
	// 单位扩展分类->单位扩展
	// @alias 单位分类扩展
	S单位分类扩展 map[string]string `alias:"单位分类扩展"`

	// 卡片拥有的卡包，例如词条，镶嵌等功能
	// 标识->卡包编号
	// @alias 卡包集
	B卡包集 map[string]*S卡包数据 `alias:"卡包集"`
	// @alias 创建时间
	C创建时间 int `alias:"创建时间"`

	// 标识->S充能数据
	// @alias 充能集
	C充能集 map[string]*S充能数据 `alias:"充能集"`
	// 标识->S冷却数据
	// @alias 冷却集
	L冷却集 map[string]*S冷却数据 `alias:"冷却集"`
	// @alias 增益集
	Z增益集 map[string]*S增益数据 `alias:"增益集"`

	// @alias 功能集
	G功能集 map[string]*S功能数据 `alias:"功能集"`
	// 商店配置->商店数据
	// @alias 商店集
	S商店集 map[string]*S商店数据 `alias:"商店集"`
	// 商品配置->商品数据
	// @alias 商品集
	S商品集 map[string]*S商品数据 `alias:"商品集"`
	// @alias 任务集
	R任务集 map[string]*S任务数据 `alias:"任务集"`
	// 统计所在对象编号->统计数据
	// @alias 统计集
	T统计集 map[string]*S统计数据 `alias:"统计集"`
	// 副本配置->副本数据
	// @alias 副本集
	F副本集 map[string]*S副本数据 `alias:"统计集"`
	// 科技配置编号->科技数据
	// @alias 科技集
	K科技集 map[string]*S科技数据 `alias:"科技集"`
}

type S增益属性数据 struct {
	// @alias 增益
	Z增益 string `alias:"增益"`
	// @alias 数量
	S数量 int `alias:"数量"`
}

// @schema_go
// @schema_ts
// @alias 数据主体类型
type S数据主体类型 int

const (
	S数据主体类型_未知 S数据主体类型 = iota
	S数据主体类型_单位
	S数据主体类型_技能
	S数据主体类型_物品
	S数据主体类型_角色
	S数据主体类型_玩家
	S数据主体类型_队伍
	S数据主体类型_团队
	S数据主体类型_公会
	S数据主体类型_游戏服
)
